home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
t3_1
/
risc_src.lha
/
risc_sources
/
xlib
/
xws10.t
< prev
next >
Wrap
Text File
|
1990-06-01
|
44KB
|
973 lines
(HERALD XWS10 (ENV TSYS (XLIB INTERFACE)))
(DEFINE-FOREIGN XLOOKUPKEYSYM*
("XLookupKeysym" (IN REP/C-POINTER) (IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XLOOKUPKEYSYM EVENT COL)
(LET* ((EVENT (CHK-XEVENTP EVENT))
(COL COL)
(RETURN-VALUE (XLOOKUPKEYSYM* EVENT COL)))
RETURN-VALUE))
(DEFINE-FOREIGN XREFRESHKEYBOARDMAPPING*
("XRefreshKeyboardMapping" (IN REP/C-POINTER))
IGNORE)
(DEFINE (XREFRESHKEYBOARDMAPPING EVENT)
(LET* ((EVENT (CHK-XEVENTP EVENT))
(RETURN-VALUE (BLOCK (XREFRESHKEYBOARDMAPPING* EVENT) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XLOOKUPSTRING*
("XLookupString" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/EXTEND)
(IN REP/C-POINTER))
REP/INTEGER)
(DEFINE (XLOOKUPSTRING EVENT BUFFER BYTES_BUFFER STATUS)
(LET* ((EVENT (CHK-XEVENTP EVENT))
(BUFFER (CHK-CHARAP BUFFER))
(BYTES_BUFFER BYTES_BUFFER)
(KEYSYM_RETURN (MAKE-BYTEV 4))
(STATUS (CHK-XCOMPOSESTATUSP STATUS))
(RETURN-VALUE (XLOOKUPSTRING* EVENT
BUFFER
BYTES_BUFFER
KEYSYM_RETURN
STATUS)))
(RETURN RETURN-VALUE (MREF-INTEGER KEYSYM_RETURN 0))))
(DEFINE-FOREIGN XREBINDKEYSYM*
("XRebindKeysym" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/STRING)
(IN REP/INTEGER))
IGNORE)
(DEFINE (XREBINDKEYSYM DPY KEYSYM MLIST NM STR NBYTES)
(LET* ((DPY (CHK-DISPLAYP DPY))
(KEYSYM KEYSYM)
(MLIST (CHK-UNSIGNEDAP MLIST))
(NM NM)
(STR (IF (STRING? STR)
(STRING->ASCIZ! STR)
(ERROR "Argument is incorrect type: ~s" STR)))
(NBYTES NBYTES)
(RETURN-VALUE (BLOCK (XREBINDKEYSYM* DPY
KEYSYM
MLIST
NM
STR
NBYTES)
'())))
RETURN-VALUE))
(DEFINE-FOREIGN XSTRINGTOKEYSYM*
("XStringToKeysym" (IN REP/STRING))
REP/INTEGER)
(DEFINE (XSTRINGTOKEYSYM S)
(LET* ((S (IF (STRING? S)
(STRING->ASCIZ! S)
(ERROR "Argument is incorrect type: ~s" S)))
(RETURN-VALUE (XSTRINGTOKEYSYM* S)))
RETURN-VALUE))
(DEFINE-FOREIGN XKEYSYMTOSTRING*
("XKeysymToString" (IN REP/INTEGER))
REP/POINTER)
(DEFINE (XKEYSYMTOSTRING KS)
(LET* ((KS KS) (RETURN-VALUE (ASCIZ->STRING (XKEYSYMTOSTRING* KS))))
RETURN-VALUE))
(DEFINE-FOREIGN XKEYCODETOKEYSYM*
("XKeycodeToKeysym" (IN REP/C-POINTER)
(IN REP/CHAR)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XKEYCODETOKEYSYM DPY KC COL)
(LET* ((DPY (CHK-DISPLAYP DPY))
(KC KC)
(COL COL)
(RETURN-VALUE (XKEYCODETOKEYSYM* DPY KC COL)))
RETURN-VALUE))
(DEFINE-FOREIGN XKEYSYMTOKEYCODE*
("XKeysymToKeycode" (IN REP/C-POINTER) (IN REP/INTEGER))
REP/CHAR)
(DEFINE (XKEYSYMTOKEYCODE DPY KS)
(LET* ((DPY (CHK-DISPLAYP DPY))
(KS KS)
(RETURN-VALUE (XKEYSYMTOKEYCODE* DPY KS)))
RETURN-VALUE))
(DEFINE-FOREIGN XGETDEFAULT*
("XGetDefault" (IN REP/C-POINTER)
(IN REP/STRING)
(IN REP/STRING))
REP/POINTER)
(DEFINE (XGETDEFAULT DPY PROG NAME)
(LET* ((DPY (CHK-DISPLAYP DPY))
(PROG (IF (STRING? PROG)
(STRING->ASCIZ! PROG)
(ERROR "Argument is incorrect type: ~s" PROG)))
(NAME (IF (STRING? NAME)
(STRING->ASCIZ! NAME)
(ERROR "Argument is incorrect type: ~s" NAME)))
(RETURN-VALUE (ASCIZ->STRING (XGETDEFAULT* DPY PROG NAME))))
RETURN-VALUE))
(DEFINE-FOREIGN XRESOURCEMANAGERSTRING*
("XResourceManagerString" (IN REP/C-POINTER))
REP/POINTER)
(DEFINE (XRESOURCEMANAGERSTRING DPY)
(LET* ((DPY (CHK-DISPLAYP DPY))
(RETURN-VALUE (ASCIZ->STRING (XRESOURCEMANAGERSTRING* DPY))))
RETURN-VALUE))
(DEFINE-FOREIGN XPARSEGEOMETRY*
("XParseGeometry" (IN REP/STRING)
(IN REP/EXTEND)
(IN REP/EXTEND)
(IN REP/EXTEND)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XPARSEGEOMETRY STRING)
(LET* ((STRING (IF (STRING? STRING)
(STRING->ASCIZ! STRING)
(ERROR "Argument is incorrect type: ~s" STRING)))
(X (MAKE-BYTEV 4))
(Y (MAKE-BYTEV 4))
(WIDTH (MAKE-BYTEV 4))
(HEIGHT (MAKE-BYTEV 4))
(RETURN-VALUE (XPARSEGEOMETRY* STRING X Y WIDTH HEIGHT)))
(RETURN RETURN-VALUE
(MREF-INTEGER X 0)
(MREF-INTEGER Y 0)
(MREF-INTEGER WIDTH 0)
(MREF-INTEGER HEIGHT 0))))
(DEFINE-FOREIGN XGEOMETRY*
("XGeometry" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/STRING)
(IN REP/STRING)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/EXTEND)
(IN REP/EXTEND)
(IN REP/EXTEND)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XGEOMETRY DPY SCREEN POS DEF BWIDTH FWIDTH FHEIGHT XADD YADD)
(LET* ((DPY (CHK-DISPLAYP DPY))
(SCREEN SCREEN)
(POS (IF (STRING? POS)
(STRING->ASCIZ! POS)
(ERROR "Argument is incorrect type: ~s" POS)))
(DEF (IF (STRING? DEF)
(STRING->ASCIZ! DEF)
(ERROR "Argument is incorrect type: ~s" DEF)))
(BWIDTH BWIDTH)
(FWIDTH FWIDTH)
(FHEIGHT FHEIGHT)
(XADD XADD)
(YADD YADD)
(X (MAKE-BYTEV 4))
(Y (MAKE-BYTEV 4))
(WIDTH (MAKE-BYTEV 4))
(HEIGHT (MAKE-BYTEV 4))
(RETURN-VALUE (XGEOMETRY* DPY
SCREEN
POS
DEF
BWIDTH
FWIDTH
FHEIGHT
XADD
YADD
X
Y
WIDTH
HEIGHT)))
(RETURN RETURN-VALUE
(MREF-INTEGER X 0)
(MREF-INTEGER Y 0)
(MREF-INTEGER WIDTH 0)
(MREF-INTEGER HEIGHT 0))))
(DEFINE-FOREIGN XPARSECOLOR*
("XParseColor" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/STRING)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XPARSECOLOR DPY CMAP SPEC)
(LET* ((DPY (CHK-DISPLAYP DPY))
(CMAP CMAP)
(SPEC (IF (STRING? SPEC)
(STRING->ASCIZ! SPEC)
(ERROR "Argument is incorrect type: ~s" SPEC)))
(DEF (MAKE-BYTEV 12))
(RETURN-VALUE (XPARSECOLOR* DPY CMAP SPEC DEF)))
(RETURN RETURN-VALUE (CONS 'XCOLORP DEF))))
(DEFINE-FOREIGN XPOLYGONREGION*
("XPolygonRegion" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/POINTER)
(DEFINE (XPOLYGONREGION PTS COUNT RULE)
(LET* ((PTS (CHK-XPOINTAP PTS))
(COUNT COUNT)
(RULE RULE)
(RETURN-VALUE (CONS 'REGION
(XPOLYGONREGION* PTS COUNT RULE))))
RETURN-VALUE))
(DEFINE-FOREIGN XCLIPBOX*
("XClipBox" (IN REP/C-POINTER) (IN REP/EXTEND))
IGNORE)
(DEFINE (XCLIPBOX R)
(LET* ((R (CHK-REGION R))
(RECT (MAKE-BYTEV 8))
(RETURN-VALUE (BLOCK (XCLIPBOX* R RECT) '())))
(CONS 'XRECTANGLEP RECT)))
(DEFINE-FOREIGN XCREATEREGION* ("XCreateRegion") REP/POINTER)
(DEFINE (XCREATEREGION)
(LET* ((RETURN-VALUE (CONS 'REGION (XCREATEREGION*))))
RETURN-VALUE))
(DEFINE-FOREIGN XSETREGION*
("XSetRegion" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/C-POINTER))
IGNORE)
(DEFINE (XSETREGION DPY GC R)
(LET* ((DPY (CHK-DISPLAYP DPY))
(GC (CHK-GC GC))
(R (CHK-REGION R))
(RETURN-VALUE (BLOCK (XSETREGION* DPY GC R) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XDESTROYREGION* ("XDestroyRegion" (IN REP/C-POINTER)) IGNORE)
(DEFINE (XDESTROYREGION R)
(LET* ((R (CHK-REGION R))
(RETURN-VALUE (BLOCK (XDESTROYREGION* R) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XOFFSETREGION*
("XOffsetRegion" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
IGNORE)
(DEFINE (XOFFSETREGION PREGION X Y)
(LET* ((PREGION (CHK-REGION PREGION))
(X X)
(Y Y)
(RETURN-VALUE (BLOCK (XOFFSETREGION* PREGION X Y) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XSHRINKREGION*
("XShrinkRegion" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
IGNORE)
(DEFINE (XSHRINKREGION R DX DY)
(LET* ((R (CHK-REGION R))
(DX DX)
(DY DY)
(RETURN-VALUE (BLOCK (XSHRINKREGION* R DX DY) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XINTERSECTREGION*
("XIntersectRegion" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/EXTEND))
IGNORE)
(DEFINE (XINTERSECTREGION REG1 REG2)
(LET* ((REG1 (CHK-REGION REG1))
(REG2 (CHK-REGION REG2))
(NEWREG (MAKE-BYTEV 4))
(RETURN-VALUE (BLOCK (XINTERSECTREGION* REG1 REG2 NEWREG)
'())))
(CONS 'REGION (MREF-POINTER NEWREG 0))))
(DEFINE-FOREIGN XUNIONREGION*
("XUnionRegion" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/EXTEND))
IGNORE)
(DEFINE (XUNIONREGION REG1 REG2)
(LET* ((REG1 (CHK-REGION REG1))
(REG2 (CHK-REGION REG2))
(NEWREG (MAKE-BYTEV 4))
(RETURN-VALUE (BLOCK (XUNIONREGION* REG1 REG2 NEWREG) '())))
(CONS 'REGION (MREF-POINTER NEWREG 0))))
(DEFINE-FOREIGN XUNIONRECTWITHREGION*
("XUnionRectWithRegion" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/EXTEND))
IGNORE)
(DEFINE (XUNIONRECTWITHREGION RECT SOURCE)
(LET* ((RECT (CHK-XRECTANGLEP RECT))
(SOURCE (CHK-REGION SOURCE))
(DEST (MAKE-BYTEV 4))
(RETURN-VALUE (BLOCK (XUNIONRECTWITHREGION* RECT SOURCE DEST)
'())))
(CONS 'REGION (MREF-POINTER DEST 0))))
(DEFINE-FOREIGN XSUBTRACTREGION*
("XSubtractRegion" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/EXTEND))
IGNORE)
(DEFINE (XSUBTRACTREGION REGM REGS)
(LET* ((REGM (CHK-REGION REGM))
(REGS (CHK-REGION REGS))
(REGD (MAKE-BYTEV 4))
(RETURN-VALUE (BLOCK (XSUBTRACTREGION* REGM REGS REGD)
'())))
(CONS 'REGION (MREF-POINTER REGD 0))))
(DEFINE-FOREIGN XXORREGION*
("XXorRegion" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/EXTEND))
IGNORE)
(DEFINE (XXORREGION SRA SRB)
(LET* ((SRA (CHK-REGION SRA))
(SRB (CHK-REGION SRB))
(DR (MAKE-BYTEV 4))
(RETURN-VALUE (BLOCK (XXORREGION* SRA SRB DR) '())))
(CONS 'REGION (MREF-POINTER DR 0))))
(DEFINE-FOREIGN XEMPTYREGION* ("XEmptyRegion" (IN REP/C-POINTER)) REP/INTEGER)
(DEFINE (XEMPTYREGION R)
(LET* ((R (CHK-REGION R)) (RETURN-VALUE (XEMPTYREGION* R)))
RETURN-VALUE))
(DEFINE-FOREIGN XEQUALREGION*
("XEqualRegion" (IN REP/C-POINTER) (IN REP/C-POINTER))
REP/INTEGER)
(DEFINE (XEQUALREGION R1 R2)
(LET* ((R1 (CHK-REGION R1))
(R2 (CHK-REGION R2))
(RETURN-VALUE (XEQUALREGION* R1 R2)))
RETURN-VALUE))
(DEFINE-FOREIGN XPOINTINREGION*
("XPointInRegion" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XPOINTINREGION PREGION X Y)
(LET* ((PREGION (CHK-REGION PREGION))
(X X)
(Y Y)
(RETURN-VALUE (XPOINTINREGION* PREGION X Y)))
RETURN-VALUE))
(DEFINE-FOREIGN XRECTINREGION*
("XRectInRegion" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XRECTINREGION REGION RX RY RWIDTH RHEIGHT)
(LET* ((REGION (CHK-REGION REGION))
(RX RX)
(RY RY)
(RWIDTH RWIDTH)
(RHEIGHT RHEIGHT)
(RETURN-VALUE (XRECTINREGION* REGION RX RY RWIDTH RHEIGHT)))
RETURN-VALUE))
(DEFINE-FOREIGN XSTOREBYTES*
("XStoreBytes" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/INTEGER))
IGNORE)
(DEFINE (XSTOREBYTES DPY BYTES NBYTES)
(LET* ((DPY (CHK-DISPLAYP DPY))
(BYTES (CHK-CHARAP BYTES))
(NBYTES NBYTES)
(RETURN-VALUE (BLOCK (XSTOREBYTES* DPY BYTES NBYTES) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XSTOREBUFFER*
("XStoreBuffer" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
IGNORE)
(DEFINE (XSTOREBUFFER DPY BYTES NBYTES BUFFER)
(LET* ((DPY (CHK-DISPLAYP DPY))
(BYTES (CHK-CHARAP BYTES))
(NBYTES NBYTES)
(BUFFER BUFFER)
(RETURN-VALUE (BLOCK (XSTOREBUFFER* DPY BYTES NBYTES BUFFER)
'())))
RETURN-VALUE))
(DEFINE-FOREIGN XFETCHBYTES*
("XFetchBytes" (IN REP/C-POINTER) (IN REP/EXTEND))
REP/POINTER)
(DEFINE (XFETCHBYTES DPY)
(LET* ((DPY (CHK-DISPLAYP DPY))
(NBYTES (MAKE-BYTEV 4))
(RETURN-VALUE (CONS 'CHARAP (XFETCHBYTES* DPY NBYTES))))
(RETURN RETURN-VALUE (MREF-INTEGER NBYTES 0))))
(DEFINE-FOREIGN XFETCHBUFFER*
("XFetchBuffer" (IN REP/C-POINTER)
(IN REP/EXTEND)
(IN REP/INTEGER))
REP/POINTER)
(DEFINE (XFETCHBUFFER DPY BUFFER)
(LET* ((DPY (CHK-DISPLAYP DPY))
(NBYTES (MAKE-BYTEV 4))
(BUFFER BUFFER)
(RETURN-VALUE (CONS 'CHARAP
(XFETCHBUFFER* DPY NBYTES BUFFER))))
(RETURN RETURN-VALUE (MREF-INTEGER NBYTES 0))))
(DEFINE-FOREIGN XROTATEBUFFERS*
("XRotateBuffers" (IN REP/C-POINTER) (IN REP/INTEGER))
IGNORE)
(DEFINE (XROTATEBUFFERS DPY ROTATE)
(LET* ((DPY (CHK-DISPLAYP DPY))
(ROTATE ROTATE)
(RETURN-VALUE (BLOCK (XROTATEBUFFERS* DPY ROTATE) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XGETVISUALINFO*
("XGetVisualInfo" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/C-POINTER)
(IN REP/EXTEND))
REP/POINTER)
(DEFINE (XGETVISUALINFO DPY VISUAL_INFO_MASK VISUAL_INFO_TEMPLATE)
(LET* ((DPY (CHK-DISPLAYP DPY))
(VISUAL_INFO_MASK VISUAL_INFO_MASK)
(VISUAL_INFO_TEMPLATE (CHK-XVISUALINFOP VISUAL_INFO_TEMPLATE))
(NITEMS (MAKE-BYTEV 4))
(RETURN-VALUE (CONS 'XVISUALINFOP
(XGETVISUALINFO* DPY
VISUAL_INFO_MASK
VISUAL_INFO_TEMPLATE
NITEMS))))
(RETURN RETURN-VALUE (MREF-INTEGER NITEMS 0))))
(DEFINE-FOREIGN XMATCHVISUALINFO*
("XMatchVisualInfo" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XMATCHVISUALINFO DPY SCREEN DEPTH CLASS)
(LET* ((DPY (CHK-DISPLAYP DPY))
(SCREEN SCREEN)
(DEPTH DEPTH)
(CLASS CLASS)
(VISUAL_INFO (MAKE-BYTEV 40))
(RETURN-VALUE (XMATCHVISUALINFO* DPY
SCREEN
DEPTH
CLASS
VISUAL_INFO)))
(RETURN RETURN-VALUE (CONS 'XVISUALINFOP VISUAL_INFO))))
(DEFINE-FOREIGN XCREATEIMAGE*
("XCreateImage" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/POINTER)
(DEFINE (XCREATEIMAGE DPY
VISUAL
DEPTH
FORMAT
OFFSET
DATA
WIDTH
HEIGHT
XPAD
IMAGE_BYTES_PER_LINE)
(LET* ((DPY (CHK-DISPLAYP DPY))
(VISUAL (CHK-VISUALP VISUAL))
(DEPTH DEPTH)
(FORMAT FORMAT)
(OFFSET OFFSET)
(DATA (CHK-CHARP DATA))
(WIDTH WIDTH)
(HEIGHT HEIGHT)
(XPAD XPAD)
(IMAGE_BYTES_PER_LINE IMAGE_BYTES_PER_LINE)
(RETURN-VALUE (CONS 'XIMAGEP
(XCREATEIMAGE* DPY
VISUAL
DEPTH
FORMAT
OFFSET
DATA
WIDTH
HEIGHT
XPAD
IMAGE_BYTES_PER_LINE))))
RETURN-VALUE))
(DEFINE-FOREIGN XGETPIXEL*
("XGetPixel" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XGETPIXEL XIMAGE X Y)
(LET* ((XIMAGE (CHK-XIMAGEP XIMAGE))
(X X)
(Y Y)
(RETURN-VALUE (XGETPIXEL* XIMAGE X Y)))
RETURN-VALUE))
(DEFINE-FOREIGN XPUTPIXEL*
("XPutPixel" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XPUTPIXEL XIMAGE X Y PIXEL)
(LET* ((XIMAGE (CHK-XIMAGEP XIMAGE))
(X X)
(Y Y)
(PIXEL PIXEL)
(RETURN-VALUE (XPUTPIXEL* XIMAGE X Y PIXEL)))
RETURN-VALUE))
(DEFINE-FOREIGN XSUBIMAGE*
("XSubImage" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/POINTER)
(DEFINE (XSUBIMAGE XIMAGE X Y WIDTH HEIGHT)
(LET* ((XIMAGE (CHK-XIMAGEP XIMAGE))
(X X)
(Y Y)
(WIDTH WIDTH)
(HEIGHT HEIGHT)
(RETURN-VALUE (CONS 'XIMAGEP
(XSUBIMAGE* XIMAGE X Y WIDTH HEIGHT))))
RETURN-VALUE))
(DEFINE-FOREIGN XADDPIXEL*
("XAddPixel" (IN REP/C-POINTER) (IN REP/INTEGER))
IGNORE)
(DEFINE (XADDPIXEL XIMAGE VALUE)
(LET* ((XIMAGE (CHK-XIMAGEP XIMAGE))
(VALUE VALUE)
(RETURN-VALUE (BLOCK (XADDPIXEL* XIMAGE VALUE) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XDESTROYIMAGE* ("XDestroyImage" (IN REP/C-POINTER)) REP/INTEGER)
(DEFINE (XDESTROYIMAGE XIMAGE)
(LET* ((XIMAGE (CHK-XIMAGEP XIMAGE))
(RETURN-VALUE (XDESTROYIMAGE* XIMAGE)))
RETURN-VALUE))
(DEFINE-FOREIGN XREADBITMAPFILE*
("XReadBitmapFile" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/STRING)
(IN REP/EXTEND)
(IN REP/EXTEND)
(IN REP/EXTEND)
(IN REP/EXTEND)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XREADBITMAPFILE DISPLAY D FILENAME)
(LET* ((DISPLAY (CHK-DISPLAYP DISPLAY))
(D D)
(FILENAME (IF (STRING? FILENAME)
(STRING->ASCIZ! FILENAME)
(ERROR "Argument is incorrect type: ~s" FILENAME)))
(WIDTH (MAKE-BYTEV 4))
(HEIGHT (MAKE-BYTEV 4))
(PIXMAP (MAKE-BYTEV 4))
(X_HOT (MAKE-BYTEV 4))
(Y_HOT (MAKE-BYTEV 4))
(RETURN-VALUE (XREADBITMAPFILE* DISPLAY
D
FILENAME
WIDTH
HEIGHT
PIXMAP
X_HOT
Y_HOT)))
(RETURN RETURN-VALUE
(MREF-INTEGER WIDTH 0)
(MREF-INTEGER HEIGHT 0)
(MREF-INTEGER PIXMAP 0)
(MREF-INTEGER X_HOT 0)
(MREF-INTEGER Y_HOT 0))))
(DEFINE-FOREIGN XWRITEBITMAPFILE*
("XWriteBitmapFile" (IN REP/C-POINTER)
(IN REP/STRING)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XWRITEBITMAPFILE DISPLAY FILENAME BITMAP WIDTH HEIGHT X_HOT Y_HOT)
(LET* ((DISPLAY (CHK-DISPLAYP DISPLAY))
(FILENAME (IF (STRING? FILENAME)
(STRING->ASCIZ! FILENAME)
(ERROR "Argument is incorrect type: ~s" FILENAME)))
(BITMAP BITMAP)
(WIDTH WIDTH)
(HEIGHT HEIGHT)
(X_HOT X_HOT)
(Y_HOT Y_HOT)
(RETURN-VALUE (XWRITEBITMAPFILE* DISPLAY
FILENAME
BITMAP
WIDTH
HEIGHT
X_HOT
Y_HOT)))
RETURN-VALUE))
(DEFINE-FOREIGN XCREATEPIXMAPFROMBITMAPDATA*
("XCreatePixmapFromBitmapData" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XCREATEPIXMAPFROMBITMAPDATA DISPLAY D DATA WIDTH HEIGHT FG BG DEPTH)
(LET* ((DISPLAY (CHK-DISPLAYP DISPLAY))
(D D)
(DATA (CHK-CHARP DATA))
(WIDTH WIDTH)
(HEIGHT HEIGHT)
(FG FG)
(BG BG)
(DEPTH DEPTH)
(RETURN-VALUE (XCREATEPIXMAPFROMBITMAPDATA* DISPLAY
D
DATA
WIDTH
HEIGHT
FG
BG
DEPTH)))
RETURN-VALUE))
(DEFINE-FOREIGN XCREATEBITMAPFROMDATA*
("XCreateBitmapFromData" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XCREATEBITMAPFROMDATA DISPLAY D DATA WIDTH HEIGHT)
(LET* ((DISPLAY (CHK-DISPLAYP DISPLAY))
(D D)
(DATA (CHK-CHARP DATA))
(WIDTH WIDTH)
(HEIGHT HEIGHT)
(RETURN-VALUE (XCREATEBITMAPFROMDATA* DISPLAY
D
DATA
WIDTH
HEIGHT)))
RETURN-VALUE))
(DEFINE-FOREIGN XRMINITIALIZE* ("XrmInitialize") IGNORE)
(DEFINE (XRMINITIALIZE)
(LET* ((RETURN-VALUE (BLOCK (XRMINITIALIZE*) '()))) RETURN-VALUE))
(DEFINE-FOREIGN XRMUNIQUEQUARK* ("XrmUniqueQuark") REP/INTEGER)
(DEFINE (XRMUNIQUEQUARK) (LET* ((RETURN-VALUE (XRMUNIQUEQUARK*))) RETURN-VALUE))
(DEFINE-FOREIGN XPERMALLOC* ("Xpermalloc" (IN REP/INTEGER)) REP/POINTER)
(DEFINE (XPERMALLOC LENGTH)
(LET* ((LENGTH LENGTH)
(RETURN-VALUE (CONS 'CHARP (XPERMALLOC* LENGTH))))
RETURN-VALUE))
(DEFINE-FOREIGN XRMSTRINGTOQUARK*
("XrmStringToQuark" (IN REP/C-POINTER))
REP/INTEGER)
(DEFINE (XRMSTRINGTOQUARK NAME)
(LET* ((NAME (CHK-CHARAP NAME)) (RETURN-VALUE (XRMSTRINGTOQUARK* NAME)))
RETURN-VALUE))
(DEFINE-FOREIGN XRMQUARKTOSTRING*
("XrmQuarkToString" (IN REP/INTEGER))
REP/POINTER)
(DEFINE (XRMQUARKTOSTRING QUARK)
(LET* ((QUARK QUARK)
(RETURN-VALUE (CONS 'CHARAP (XRMQUARKTOSTRING* QUARK))))
RETURN-VALUE))
(DEFINE-FOREIGN XRMSTRINGTOQUARKLIST*
("XrmStringToQuarkList" (IN REP/STRING) (IN REP/EXTEND))
IGNORE)
(DEFINE (XRMSTRINGTOQUARKLIST NAME)
(LET* ((NAME (IF (STRING? NAME)
(STRING->ASCIZ! NAME)
(ERROR "Argument is incorrect type: ~s" NAME)))
(QUARKS (MAKE-BYTEV 4))
(RETURN-VALUE (BLOCK (XRMSTRINGTOQUARKLIST* NAME QUARKS)
'())))
(CONS 'INTAP (MREF-POINTER QUARKS 0))))
(DEFINE-FOREIGN XRMSTRINGTOBINDINGQUARKLIST*
("XrmStringToBindingQuarkList" (IN REP/STRING)
(IN REP/EXTEND)
(IN REP/EXTEND))
IGNORE)
(DEFINE (XRMSTRINGTOBINDINGQUARKLIST NAME)
(LET* ((NAME (IF (STRING? NAME)
(STRING->ASCIZ! NAME)
(ERROR "Argument is incorrect type: ~s" NAME)))
(BINDINGS (MAKE-BYTEV 4))
(QUARKS (MAKE-BYTEV 4))
(RETURN-VALUE (BLOCK (XRMSTRINGTOBINDINGQUARKLIST* NAME
BINDINGS
QUARKS)
'())))
(RETURN (CONS 'INTAP (MREF-POINTER BINDINGS 0))
(CONS 'INTAP (MREF-POINTER QUARKS 0)))))
(DEFINE-FOREIGN XRMPUTRESOURCE*
("XrmPutResource" (IN REP/C-POINTER)
(IN REP/STRING)
(IN REP/STRING)
(IN REP/C-POINTER))
IGNORE)
(DEFINE (XRMPUTRESOURCE PDB SPECIFIER TYPE VALUE)
(LET* ((PDB (CHK-XRMDATABASEP PDB))
(SPECIFIER (IF (STRING? SPECIFIER)
(STRING->ASCIZ! SPECIFIER)
(ERROR "Argument is incorrect type: ~s" SPECIFIER)))
(TYPE (IF (STRING? TYPE)
(STRING->ASCIZ! TYPE)
(ERROR "Argument is incorrect type: ~s" TYPE)))
(VALUE (CHK-XRMVALUEPTR VALUE))
(RETURN-VALUE (BLOCK (XRMPUTRESOURCE* PDB SPECIFIER TYPE VALUE)
'())))
RETURN-VALUE))
(DEFINE-FOREIGN XRMQPUTRESOURCE*
("XrmQPutResource" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/C-POINTER))
IGNORE)
(DEFINE (XRMQPUTRESOURCE PDB BINDINGS QUARKS TYPE VALUE)
(LET* ((PDB (CHK-XRMDATABASEP PDB))
(BINDINGS (CHK-INTAP BINDINGS))
(QUARKS (CHK-INTAP QUARKS))
(TYPE TYPE)
(VALUE (CHK-XRMVALUEPTR VALUE))
(RETURN-VALUE (BLOCK (XRMQPUTRESOURCE* PDB
BINDINGS
QUARKS
TYPE
VALUE)
'())))
RETURN-VALUE))
(DEFINE-FOREIGN XRMPUTSTRINGRESOURCE*
("XrmPutStringResource" (IN REP/C-POINTER)
(IN REP/STRING)
(IN REP/STRING))
IGNORE)
(DEFINE (XRMPUTSTRINGRESOURCE PDB SPECIFIER STR)
(LET* ((PDB (CHK-XRMDATABASEP PDB))
(SPECIFIER (IF (STRING? SPECIFIER)
(STRING->ASCIZ! SPECIFIER)
(ERROR "Argument is incorrect type: ~s" SPECIFIER)))
(STR (IF (STRING? STR)
(STRING->ASCIZ! STR)
(ERROR "Argument is incorrect type: ~s" STR)))
(RETURN-VALUE (BLOCK (XRMPUTSTRINGRESOURCE* PDB SPECIFIER STR)
'())))
RETURN-VALUE))
(DEFINE-FOREIGN XRMQPUTSTRINGRESOURCE*
("XrmQPutStringResource" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/STRING))
IGNORE)
(DEFINE (XRMQPUTSTRINGRESOURCE PDB BINDINGS QUARKS STR)
(LET* ((PDB (CHK-XRMDATABASEP PDB))
(BINDINGS (CHK-INTAP BINDINGS))
(QUARKS (CHK-INTAP QUARKS))
(STR (IF (STRING? STR)
(STRING->ASCIZ! STR)
(ERROR "Argument is incorrect type: ~s" STR)))
(RETURN-VALUE (BLOCK (XRMQPUTSTRINGRESOURCE* PDB
BINDINGS
QUARKS
STR)
'())))
RETURN-VALUE))
(DEFINE-FOREIGN XRMPUTLINERESOURCE*
("XrmPutLineResource" (IN REP/C-POINTER) (IN REP/STRING))
IGNORE)
(DEFINE (XRMPUTLINERESOURCE PDB LINE)
(LET* ((PDB (CHK-XRMDATABASEP PDB))
(LINE (IF (STRING? LINE)
(STRING->ASCIZ! LINE)
(ERROR "Argument is incorrect type: ~s" LINE)))
(RETURN-VALUE (BLOCK (XRMPUTLINERESOURCE* PDB LINE) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XRMGETRESOURCE*
("XrmGetResource" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/EXTEND)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XRMGETRESOURCE DB NAME_STR CLASS_STR)
(LET* ((DB (CHK-XRMHASHBUCKET DB))
(NAME_STR (CHK-CHARAP NAME_STR))
(CLASS_STR (CHK-CHARAP CLASS_STR))
(PTYPE_STR (MAKE-BYTEV 4))
(PVALUE (MAKE-BYTEV 4))
(RETURN-VALUE (XRMGETRESOURCE* DB
NAME_STR
CLASS_STR
PTYPE_STR
PVALUE)))
(RETURN RETURN-VALUE
(CONS 'CHARAP (MREF-POINTER PTYPE_STR 0))
(CONS 'XRMVALUEPTR (MREF-POINTER PVALUE 0)))))
(DEFINE-FOREIGN XRMQGETRESOURCE*
("XrmQGetResource" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/EXTEND)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XRMQGETRESOURCE DB NAMES CLASSES)
(LET* ((DB (CHK-XRMHASHBUCKET DB))
(NAMES (CHK-INTAP NAMES))
(CLASSES (CHK-INTAP CLASSES))
(PTYPE (MAKE-BYTEV 4))
(PVALUE (MAKE-BYTEV 4))
(RETURN-VALUE (XRMQGETRESOURCE* DB NAMES CLASSES PTYPE PVALUE)))
(RETURN RETURN-VALUE
(MREF-INTEGER PTYPE 0)
(CONS 'XRMVALUEPTR (MREF-POINTER PVALUE 0)))))
(DEFINE-FOREIGN XRMQGETSEARCHLIST*
("XrmQGetSearchList" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XRMQGETSEARCHLIST DB NAMES CLASSES SEARCHLIST LISTLENGTH)
(LET* ((DB (CHK-XRMHASHBUCKET DB))
(NAMES (CHK-INTAP NAMES))
(CLASSES (CHK-INTAP CLASSES))
(SEARCHLIST SEARCHLIST)
(LISTLENGTH LISTLENGTH)
(RETURN-VALUE (XRMQGETSEARCHLIST* DB
NAMES
CLASSES
SEARCHLIST
LISTLENGTH)))
RETURN-VALUE))
(DEFINE-FOREIGN XRMQGETSEARCHRESOURCE*
("XrmQGetSearchResource" (IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/EXTEND)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XRMQGETSEARCHRESOURCE SEARCHLIST NAME CLASS)
(LET* ((SEARCHLIST SEARCHLIST)
(NAME NAME)
(CLASS CLASS)
(PTYPE (MAKE-BYTEV 4))
(PVAL (MAKE-BYTEV 8))
(RETURN-VALUE (XRMQGETSEARCHRESOURCE* SEARCHLIST
NAME
CLASS
PTYPE
PVAL)))
(RETURN RETURN-VALUE
(MREF-INTEGER PTYPE 0)
(CONS 'XRMVALUEPTR PVAL))))
(DEFINE-FOREIGN XRMMERGEDATABASES*
("XrmMergeDatabases" (IN REP/C-POINTER) (IN REP/C-POINTER))
IGNORE)
(DEFINE (XRMMERGEDATABASES NEW INTO)
(LET* ((NEW (CHK-XRMDATABASE NEW))
(INTO (CHK-XRMDATABASEP INTO))
(RETURN-VALUE (BLOCK (XRMMERGEDATABASES* NEW INTO) '())))
RETURN-VALUE))
(DEFINE-FOREIGN XRMGETFILEDATABASE*
("XrmGetFileDatabase" (IN REP/STRING))
REP/POINTER)
(DEFINE (XRMGETFILEDATABASE FILENAME)
(LET* ((FILENAME (IF (STRING? FILENAME)
(STRING->ASCIZ! FILENAME)
(ERROR "Argument is incorrect type: ~s" FILENAME)))
(RETURN-VALUE (CONS 'XRMDATABASE
(XRMGETFILEDATABASE* FILENAME))))
RETURN-VALUE))
(DEFINE-FOREIGN XRMPUTFILEDATABASE*
("XrmPutFileDatabase" (IN REP/C-POINTER) (IN REP/STRING))
IGNORE)
(DEFINE (XRMPUTFILEDATABASE DB FILENAME)
(LET* ((DB (CHK-XRMDATABASE DB))
(FILENAME (IF (STRING? FILENAME)
(STRING->ASCIZ! FILENAME)
(ERROR "Argument is incorrect type: ~s" FILENAME)))
(RETURN-VALUE (BLOCK (XRMPUTFILEDATABASE* DB FILENAME)
'())))
RETURN-VALUE))
(DEFINE-FOREIGN XRMGETSTRINGDATABASE*
("XrmGetStringDatabase" (IN REP/STRING))
REP/POINTER)
(DEFINE (XRMGETSTRINGDATABASE DATA)
(LET* ((DATA (IF (STRING? DATA)
(STRING->ASCIZ! DATA)
(ERROR "Argument is incorrect type: ~s" DATA)))
(RETURN-VALUE (CONS 'XRMDATABASE
(XRMGETSTRINGDATABASE* DATA))))
RETURN-VALUE))
(DEFINE-FOREIGN XRMPARSECOMMAND*
("XrmParseCommand" (IN REP/C-POINTER)
(IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/STRING)
(IN REP/C-POINTER)
(IN REP/C-POINTER))
IGNORE)
(DEFINE (XRMPARSECOMMAND PDB OPTIONS NUM_OPTIONS PREFIX ARGC ARGV)
(LET* ((PDB (CHK-XRMDATABASEP PDB))
(OPTIONS (CHK-XRMOPTIONDESCLIST OPTIONS))
(NUM_OPTIONS NUM_OPTIONS)
(PREFIX (IF (STRING? PREFIX)
(STRING->ASCIZ! PREFIX)
(ERROR "Argument is incorrect type: ~s" PREFIX)))
(ARGC (CHK-INTP ARGC))
(ARGV (CHK-CHARPAP ARGV))
(RETURN-VALUE (BLOCK (XRMPARSECOMMAND* PDB
OPTIONS
NUM_OPTIONS
PREFIX
ARGC
ARGV)
'())))
RETURN-VALUE))
(DEFINE-FOREIGN XSAVECONTEXT*
("XSaveContext" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/C-POINTER))
REP/INTEGER)
(DEFINE (XSAVECONTEXT DISPLAY WINDOW CONTEXT DATA)
(LET* ((DISPLAY (CHK-DISPLAYP DISPLAY))
(WINDOW WINDOW)
(CONTEXT CONTEXT)
(DATA (CHK-CHARAP DATA))
(RETURN-VALUE (XSAVECONTEXT* DISPLAY WINDOW CONTEXT DATA)))
RETURN-VALUE))
(DEFINE-FOREIGN XFINDCONTEXT*
("XFindContext" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER)
(IN REP/EXTEND))
REP/INTEGER)
(DEFINE (XFINDCONTEXT DISPLAY WINDOW CONTEXT)
(LET* ((DISPLAY (CHK-DISPLAYP DISPLAY))
(WINDOW WINDOW)
(CONTEXT CONTEXT)
(DATA (MAKE-BYTEV 4))
(RETURN-VALUE (XFINDCONTEXT* DISPLAY WINDOW CONTEXT DATA)))
(RETURN RETURN-VALUE (CONS 'CHARAP (MREF-POINTER DATA 0)))))
(DEFINE-FOREIGN XDELETECONTEXT*
("XDeleteContext" (IN REP/C-POINTER)
(IN REP/INTEGER)
(IN REP/INTEGER))
REP/INTEGER)
(DEFINE (XDELETECONTEXT DISPLAY WINDOW CONTEXT)
(LET* ((DISPLAY (CHK-DISPLAYP DISPLAY))
(WINDOW WINDOW)
(CONTEXT CONTEXT)
(RETURN-VALUE (XDELETECONTEXT* DISPLAY WINDOW CONTEXT)))
RETURN-VALUE))